package com.health.ts.service.datasource;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.health.ts.entity.sysmanage.SysDict;

/**
 * 多数据源服务
 */
@Service
public class MultipleDataBizService {
	
	/**
	 * 主数据源服务
	 */
	@Autowired
	MasterDataService masterDataService;
	
	/**
	 * 从数据源服务
	 */
	@Autowired
	SlaveDataService slaveDataService;
	
	/**
	 * 测试主数据源查询
	 * @return
	 */
	public List<SysDict> testMasterDataQuery(){
		return masterDataService.testQuery();
	}
	
	/**
	 * 测试从据源查询
	 * @return
	 */
	public List<SysDict> testSlaveDataQuery(){
		return slaveDataService.testQuery();
	}
	
	/**
	 * 测试保存（多数据源下事务一致性）
	 * @return
	 */
	@DSTransactional
//	@Transactional(rollbackFor = Exception.class)
	public void testSave(){
		// 主数据源保存
		masterDataService.testSave();
		
		// 从数据源保存
		slaveDataService.testSave();
		
		System.out.println(1/0);
	}
}
